using System.Collections.Generic;
using UnityEngine;

namespace Kayac
{
	public class PhysicCameraController : MonoBehaviour
	{
		[SerializeField]
		private Rigidbody rigidbody;

		[SerializeField]
		private PidSettings positionPid;

		[SerializeField]
		private PidSettings rotationPid;

		[SerializeField]
		private Camera camera;

		[SerializeField]
		private Transform controlTransform;

		[SerializeField]
		private Vector3 upVectorHint;

		[SerializeField]
		private Collider collider;

		[SerializeField]
		private SphereCollider proximityCollider;

		[SerializeField]
		private float colliderDisableThreshold;

		[SerializeField]
		private float colliderEnableThreshold;

		[SerializeField]
		private float contactNormalDecay;

		[SerializeField]
		private float proximityNormalDecay;

		[SerializeField]
		private float proximityAvoidance;

		private Vector3 positionGoal;

		private Quaternion rotationGoal;

		private PidController3 positionController;

		private PidControllerRotation rotationController;

		private Vector3 contactNormal;

		private Vector3 proximityNormal;

		public Vector3 PositionGoal => default(Vector3);

		public Quaternion RotationGoal => default(Quaternion);

		public Rigidbody Rigidbody => null;

		public bool Colliding { get; private set; }

		public bool NearCollision { get; private set; }

		public void ManualStart()
		{
		}

		public void SetGoals(Vector3 position, Quaternion rotation)
		{
		}

		public static void FitByMove(out Vector3 positionGoalOut, out Quaternion rotationGoalOut, Camera camera, Vector3 upVectorHint, Vector3 forward, float topMargin, float bottomMargin, float leftMargin, float rightMargin, IList<Vector3> points)
		{
			positionGoalOut = default(Vector3);
			rotationGoalOut = default(Quaternion);
		}

		public void FitByMoveCalcOnly(out Vector3 positionGoalOut, out Quaternion rotationGoalOut, Vector3 forward, float topMargin, float bottomMargin, float leftMargin, float rightMargin, IList<Vector3> points)
		{
			positionGoalOut = default(Vector3);
			rotationGoalOut = default(Quaternion);
		}

		public void FitByMove(Vector3 forward, float topMargin, float bottomMargin, float leftMargin, float rightMargin, IList<Vector3> points)
		{
		}

		public void ManualFixedUpdate(float deltaTime)
		{
		}

		public void ManualUpdate()
		{
		}

		public void Converge()
		{
		}

		public void SetUpVectorHint(Vector3 v)
		{
		}

		public void OverridePidSettings(PidSettings position, PidSettings rotation)
		{
		}

		public void ResetPidSettings()
		{
		}

		public void SetProximityAvoidance(float radius, float avoidance)
		{
		}

		public void SetColliderSwitchingThreshold(float disableThreshold, float enableThreshold)
		{
		}

		private void OnCollisionEnter(Collision collision)
		{
		}

		private void OnCollisionStay(Collision collision)
		{
		}

		private void OnTriggerEnter(Collider collider)
		{
		}

		private void OnTriggerStay(Collider collider)
		{
		}

		private void UpdateProximityNormal(Collider collider)
		{
		}
	}
}
